Workload consolidation is one of the fundamental underpinnings of cloud computing, enabling the provider to realize reductions in infrastructure and energy costs and to achieve economies of scale. Consolidation needs to be balanced against the obvious concerns of isolation, not just limited to security, but performance and quality of service (QoS) as well. Thus, placement of clients performing the different workloads, such as virtual machines (VMs), in a physical infrastructure is an important factor in efficiently utilizing the physical resources. An effective client placement strategy must meet the requirements of the clients and optimize several, sometimes conflicting, goals, while taking into consideration the complexities of the physical infrastructure.
Even after the clients have been properly placed in the physical infrastructure, some of these clients may have to be moved or migrated to different hosts for various reasons, such as load balancing or removing hot spots. Thus, the selection of appropriate hosts to which the clients will be migrated is an important resource management process.
When making client placement decisions, including client migration decisions, various parameters are considered in making the decisions. Some of the parameters considered relate to resource controls of the clients, such as reservation, limit and share values. However, the parameters currently considered in making client placement decisions may not produce the desired results, for example, with respect to application performance and service level agreements (SLAs).